home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
lamstex
/
inputs
/
islands.tex
< prev
next >
Wrap
Text File
|
1991-09-06
|
19KB
|
580 lines
\catcode`\@=11
\def\Figureproofing{\figproofing@true}
\def\noFigureproofing{\figproofing@false}
\def\Hbyw#1{\global\Hby@true\hbyw\vsize{#1}}
\def\hbyw#1#2{%
\hbox{%
\ifHby@
\else
\iffigproofing@
\setbox\z@\vbox{\hrule\width5\p@}\ht\z@\z@
\vbox to#1{\hrule\height5\p@\width.4\p@\vfil\hrule\height5\p@\width.4\p@}%
\kern-.4\p@\rlap{\copy\z@}\raise#1\hbox{\rlap{\copy\z@}}%
\fi
\fi
\vbox to#1{\hbox to#2{}\vfil}%
\ifHby@
\else
\iffigproofing@
\vbox to#1{\hrule\height5\p@\width.4\p@\vfil\hrule\height5\p@\width.4\p@}%
\kern-.4\p@\llap{\copy\z@}\raise#1\hbox{\llap{\boxz@}}%
\fi
\fi}}
\def\island@@@P{\csname\exxx@\islandtype@ @P\endcsname}
\def\island@@@Q{\csname\exxx@\islandtype@ @Q\endcsname}
\def\island@@@S{\csname\exxx@\islandtype@ @S\endcsname}
\def\island@@@N{\csname\exxx@\islandtype@ @N\endcsname}
\def\island@@@F{\csname\exxx@\islandtype@ @F\endcsname}
\def\island@@@C{\csname island@C\islandclass@\endcsname}
\def\island{%
\ifplace@
\DN@{\let\islandclass@\empty\def\islandtype@{\island}\FN@\island@}%
\else
\long\DN@##1\endisland{\Err@{\noexpand\island must be used after some
type of \string\...place}}%
\fi
\next@}
\def\island@{\ifx\next\c\let\next@\island@c\else
\DN@{\FN@\island@@}\fi\next@}
\def\island@@{\ifcat\bgroup\noexpand\next\let\next@\island@@@\else
\DN@{\Err@{\noexpand\island must be followed by a {prefix} for
\string\caption's}}\fi\next@}
\def\island@@@#1{\def\captionprefix@{#1}\captioncount@\z@
\global\setbox\islandbox@\vbox\bgroup}
\def\island@c\c#1{%
\ifplace@
\DN@{\def\islandclass@{#1}%
\expandafter\ifx\csname island@C#1\endcsname\relax
\expandafter\newcount@\csname island@C#1\endcsname
\global\csname island@C#1\endcsname\z@\fi
\FNSS@\island@c@}%
\else
\DN@{\edef\next@{\long\def\noexpand\next@########1\expandafter\noexpand
\csname end\exxx@\islandtype@\endcsname{\noexpand\Err@{\noexpand\noexpand
\expandafter\noexpand
\islandtype@ must be used after some type of \noexpand\string
\noexpand\...place}}}\next@\next@}%
\fi
\next@}
\def\island@c@{%
\ifcat\bgroup\noexpand\next
\let\next@\island@c@@
\else
\DN@{\Err@{\noexpand\island\string\c{\expandafter\string\islandclass@} must
be followed by a {prefix} for \string\caption's}}%
\fi\next@}
\def\island@c@@#1{\def\captionprefix@{#1}%
\captioncount@\z@\global\setbox\islandbox@\vbox\bgroup}
\def\caption{%
\ifnum\captioncount@=\z@
\ifnopunct@
\DN@{\egroup\nopunct@true}%
\else
\let\next@\egroup
\fi
\else
\let\next@\relax
\fi
\next@
\advance\captioncount@\@ne
\FN@\caption@}
\def\caption@{\ifx\next"\expandafter\caption@q\else\expandafter\caption@@\fi}
\def\caption@q"#1"{\quoted@true
{\noexpands@
\let\pre\island@@@P\let\post\island@@@Q
\let\style\island@@@S\let\numstyle\island@@@N
\Qlabel@{#1}\let\style\relax\xdef\Qlabel@@@@{#1}}%
\finishcaption@}
\def\caption@@{\quoted@false
\global\advance\island@@@C\@ne
{\noexpands@
\xdef\Thelabel@@@{\number\island@@@C}%
\xdefThelabel@\island@@@N
\xdef\Thelabel@@@@{\island@@@P\Thelabel@\island@@@Q}%
\xdefThelabel@@\island@@@S
\xdef\Thepref@{\Thelabel@@@@}}%
\finishcaption@}
\long\def\widerthanisland@#1#2#3{\test@true\setbox\z@\vbox{\hsize\maxdimen
\noindent@@\captionformat@{#1}{#2}{#3}\par\setboxzl@}%
\ifdim\wdz@=\z@
\global\setbox\captionbox@\hbox{\noset@\unlabel@
\captionformat@{#1}{#2}{#3}}%
\ifdim\wd\captionbox@>\wd\islandbox@\else\test@false\fi
\fi}
\long\def\captionformat@@#1#2#3{\widerthanisland@{#1}{#2}{#3}%
\iftest@
\global\setbox\captionbox@\vbox{\hsize\wd\islandbox@
\vskip-\parskip\noindent@@\noset@\unlabel@
\captionformat@{#1}{#2}{#3}\par}%
\else
\global\setbox\captionbox@
\hbox to\wd\islandbox@{\hfil\box\captionbox@\hfil}%
\fi}
\long\def\finishcaption@#1{\def\entry@{#1}%
{\locallabel@
\captionformat@@
{\expandafter\ignorespaces\captionprefix@\unskip}%
{\ifx\thelabel@@\empty\unskip\else\thelabel@@\fi}%
{\ignorespaces#1\unskip}%
\ifnum\captioncount@=\@ne
\global\setbox\islandbox@\vbox{\ticwrite@\vbox{\box\islandbox@}}%
\global\setbox\Captionbox@\vbox{\box\captionbox@}%
\else
\global\setbox\islandbox@\vbox{\unvbox\islandbox@\setboxzl@
\ticwrite@\boxz@}%
\global\setbox\Captionbox@\vbox{\unvbox\Captionbox@
\smallskip\box\captionbox@}%
\fi}%
\nopunct@false\nospace@false}
\def\Sixtic@{\ifx\macdef@\empty\else
\DN@##1##2\next@{\def\macdef@{##1##2}}%
\expandafter\next@\macdef@\next@
\edef\next@
{\noexpand\six@\tic@\macdef@
\space\space\space\space\space\space\space\space\space\space\space\space
\noexpand\six@}%
\next@\let\macdef@\relax\fi}
\def\ticwrite@{%
\iftoc@
{\noexpands@\let\style\relax
\DN@{\island}%
\edef\next@{\write\tic@{%
\ifnopunct@\noexpand\noexpand\noexpand\nopunct\fi
\ifx\islandtype@\next@\noexpand\noexpand\noexpand\island
\noexpand\string\noexpand\c{\islandclass@}{\captionprefix@}%
{\QorThelabel@@@@}\else\noexpand\noexpand\expandafter\noexpand
\islandtype@{\QorThelabel@@@@}}\fi}%
\next@}%
\expandafter\unmacro@\meaning\entry@\unmacro@
\Sixtic@
\write\tic@{\noexpand\Page{\number\pageno}{\page@N}{\page@P}{\page@Q}^^J}%
\fi}
\def\Htrim@#1{%
\ifHby@
\dimen@\vsize
\ifnum\captioncount@=\z@
\else
\advance\dimen@-\ht\Captionbox@
\advance\dimen@-#1%
\fi
\global\Hby@false
\dimen@ii\wd\islandbox@
\global\setbox\islandbox@\vbox
{\unvbox\islandbox@\setboxzl@
\vbox to\z@{\vss\boxz@}\nointerlineskip\hbyw\dimen@\dimen@ii}%
\global\Hby@true
\fi}
\def\iclasstest@#1{\DN@{#1}\ifx\next@\islandclass@
\test@true\else\test@false\fi}
\def\endisland{\ifnum\captioncount@=\z@\expandafter\egroup\fi
\ifdata@
\else
\iclasstest@{T}%
\iftest@
{\rm\global\skipi@-\dp\strutbox}\global\advance\skipi@\bigskipamount
\Htrim@\skipi@
\global\setbox\islandbox@\vbox
{\ifnum\captioncount@=\z@\else
\box\Captionbox@
\nointerlineskip
\vskip\skipi@\fi
\box\islandbox@}%
\else
{\rm\global\skipi@\dp\strutbox}\global\advance\skipi@\medskipamount
\Htrim@\skipi@
\global\setbox\islandbox@\vbox
{\box\islandbox@
\ifnum\captioncount@=\z@\else
\nointerlineskip
\vskip\skipi@
\box\Captionbox@
\fi}%
\fi
\ifHby@
\else
\dimen@\ht\islandbox@\advance\dimen@\dp\islandbox@
\ifdim\dimen@>\vsize
\DN@{\island}%
\Err@{%
\ifx\islandtype@\next@\noexpand\island\else
\expandafter\noexpand\islandtype@\fi
\ifnum\captioncount@=\z@\else
with \noexpand\caption\fi
is larger than page}%
\ht\islandbox@=\vsize
\fi
\fi
\fi
\global\Hby@false\island@true}
\def\newisland#1\c#2#3{\define#1{}%
\iftoc@\immediate\write\tic@{\noexpand\newisland\noexpand#1%
\string\c{#2}{#3}^^J}\fi
\expandafter\def\csname\exstring@#1@S\endcsname{\island@S}%
\expandafter\def\csname\exstring@#1@N\endcsname{\island@N}%
\expandafter\def\csname\exstring@#1@P\endcsname{\island@P}%
\expandafter\def\csname\exstring@#1@Q\endcsname{\island@Q}%
\expandafter\def\csname\exstring@#1@F\endcsname{\island@F}%
\expandafter\def\csname end\exstring@#1\endcsname{\endisland}%
\expandafter
\ifx\csname island@C#2\endcsname\relax
\expandafter\newcount@\csname island@C#2\endcsname
\global\csname island@C#2\endcsname\z@
\fi
\edef\next@{\noexpand\expandafter\noexpand\let\noexpand
\csname\exstring@#1@C\noexpand\endcsname
\csname island@C#2\endcsname}%
\next@
\def#1{\def\islandtype@{#1}\island@c\c{#2}{#3}}}
\newisland\Figure\c{F}{Figure}
\newisland\Table\c{T}{Table}
\long\def\islandpairdata#1#2{{\data@true
\place@true
#1%
\global\setbox\islandboxi\box\islandbox@
\global\setbox\captionboxi\box\Captionbox@
#2%
\global\setbox\islandboxii\box\islandbox@
\global\setbox\captionboxii\box\Captionbox@
}}
\long\def\islandpairbox#1#2{\islandpairdata{#1}{#2}%
\dimen@\ht\captionboxi
\ifdim\ht\captionboxii>\dimen@\dimen@\ht\captionboxii\fi
\ifdim\dimen@>\z@
\ifdim\ht\captionboxi<\dimen@
\global\setbox\captionboxi\vbox to\dimen@{\unvbox\captionboxi\vfil}\fi
\ifdim\ht\captionboxii<\dimen@
\global\setbox\captionboxii\vbox to\dimen@{\unvbox\captionboxii\vfil}\fi
\fi
\global\setbox\islandbox@\vbox
{\hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil}%
\ifdim\dimen@>\z@\nointerlineskip
{\rm\global\skipi@\dp\strutbox}\global\advance\skipi@\medskipamount
\vskip\skipi@
\hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil}\fi}}
\long\def\islandpairboxa#1#2{\islandpairdata{#1}{#2}%
\dimen@\ht\captionboxi
\ifdim\ht\captionboxii>\dimen@\dimen@\ht\captionboxii\fi
\ifdim\dimen@>\z@
\ifdim\ht\captionboxi<\dimen@
\global\setbox\captionboxi\vbox to\dimen@{\vfil\unvbox\captionboxi}\fi
\ifdim\ht\captionboxii<\dimen@
\global\setbox\captionboxii\vbox to\dimen@{\vfil\unvbox\captionboxii}\fi
\fi
\dimen@ii\ht\islandboxi
\ifdim\ht\islandboxii>\dimen@ii \dimen@ii\ht\islandboxii\fi
\ifdim\dimen@ii>\z@
\ifdim\ht\islandboxi<\dimen@ii
\global\setbox\islandboxi\vbox to\dimen@ii{\box\islandboxi\vfil}\fi
\ifdim\ht\islandboxii<\dimen@ii
\global\setbox\islandboxii\vbox to\dimen@ii{\box\islandboxii\vfil}\fi
\fi
\global\setbox\islandbox@\vbox{\ifdim\dimen@>\z@
\hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil}%
\nointerlineskip{\rm\global\skipi@-\dp\strutbox}%
\global\advance\skipi@\bigskipamount\vskip\skipi@\fi
\hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil}}}
\long\def\islandtripledata#1#2#3{{\data@true\place@true
#1%
\global\setbox\islandboxi\box\islandbox@
\global\setbox\captionboxi\box\Captionbox@
#2%
\global\setbox\islandboxii\box\islandbox@
\global\setbox\captionboxii\box\Captionbox@
#3%
\global\setbox\islandboxiii\box\islandbox@
\global\setbox\captionboxiii\box\Captionbox@
}}
\long\def\islandtriplebox#1#2#3{\islandtripledata{#1}{#2}{#3}%
\dimen@\ht\captionboxi
\ifdim\ht\captionboxii>\dimen@ \dimen@\ht\captionboxii\fi
\ifdim\ht\captionboxiii>\dimen@ \dimen@\ht\captionboxiii\fi
\ifdim\dimen@>\z@
\ifdim\ht\captionboxi<\dimen@
\global\setbox\captionboxi\vbox to\dimen@{\unvbox\captionboxi\vfil}\fi
\ifdim\ht\captionboxii<\dimen@
\global\setbox\captionboxii\vbox to\dimen@{\unvbox\captionboxii\vfil}\fi
\ifdim\ht\captionboxiii<\dimen@
\global\setbox\captionboxiii\vbox to\dimen@{\unvbox\captionboxiii\vfil}\fi
\fi
\global\setbox\islandbox@\vbox
{\hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil
\box\islandboxiii\hfil}%
\ifdim\dimen@>\z@\nointerlineskip
{\rm\global\skipi@\dp\strutbox}\global\advance\skipi@\medskipamount
\vskip\skipi@
\hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil
\box\captionboxiii\hfil}\fi}}
\def\islandtripleboxa#1#2#3{\islandtripledata{#1}{#2}{#3}%
\dimen@\ht\captionboxi
\ifdim\ht\captionboxii>\dimen@ \dimen@\ht\captionboxii\fi
\ifdim\ht\captionboxiii>\dimen@ \dimen@\ht\captionboxiii\fi
\ifdim\dimen@>\z@
\ifdim\ht\captionboxi<\dimen@
\global\setbox\captionboxi\vbox to\dimen@{\vfil\unvbox\captionboxi}\fi
\ifdim\ht\captionboxii<\dimen@
\global\setbox\captionboxii\vbox to\dimen@{\vfil\unvbox\captionboxii}\fi
\ifdim\ht\captionboxiii<\dimen@
\global\setbox\captionboxiii\vbox to\dimen@{\vfil\unvbox\captionboxiii}\fi
\fi
\dimen@ii\ht\islandboxi
\ifdim\ht\islandboxii>\dimen@ii \dimen@ii\ht\islandboxii\fi
\ifdim\ht\islandboxiii>\dimen@ii \dimen@ii\ht\islandboxiii\fi
\ifdim\dimen@ii>\z@
\ifdim\ht\islandboxi<\dimen@ii
\global\setbox\islandboxi\vbox to\dimen@ii{\box\islandboxi\vfil}\fi
\ifdim\ht\islandboxii<\dimen@ii
\global\setbox\islandboxii\vbox to\dimen@ii{\box\islandboxii\vfil}\fi
\ifdim\ht\islandboxiii<\dimen@ii
\global\setbox\islandboxiii\vbox to\dimen@ii{\box\islandboxiii\vfil}\fi
\fi
\global\setbox\islandbox@\vbox
{\ifdim\dimen@>\z@
\hbox to\hsize{\hfil\box\captionboxi\hfil\box\captionboxii\hfil
\box\captionboxiii\hfil}%
\nointerlineskip{\rm\global\skipi@-\dp\strutbox}%
\global\advance\skipi@\bigskipamount\vskip\skipi@\fi
\hbox to\hsize{\hfil\box\islandboxi\hfil\box\islandboxii\hfil
\box\islandboxiii\hfil}}}
\def\Figurepair#1\and#2\endFigurepair{\island@true
\islandpairbox{\Figure#1\endFigure}{\Figure#2\endFigure}}
\def\Figuretriple#1\and#2\and#3\endFiguretriple{\island@true
\islandtriplebox{\Figure#1\endFigure}{\Figure#2\endFigure}%
{\Figure#3\endFigure}}
\def\Tablepair#1\and#2\endTablepair{\island@true
\islandpairboxa{\Table#1\endTable}{\Table#2\endTable}}
\def\Tabletriple#1\and#2\and#3\endTabletriple{\island@true
\islandtripleboxa{\Table#1\endTable}{\Table#2\endTable}%
{\Table#3\endTable}}
\def\place#1{\place@true\island@false
#1%
\ifisland@
\box\islandbox@
\else
\Err@{Whoa ... there's no \string\Figure, \string\Table,
etc., here}%
\fi
\place@false}
\def\storedim@{\global\setbox\topinsdims@
\vbox{\hbox to\dimen@{}\unvbox\topinsdims@}}
\def\advancedimtopins@{%
\ifnum\pageno=\@ne
\else
\advance\dimen@\dimen\topins
\global\dimen\topins\dimen@
\fi}
\def\Par{\par\global\csname Parprev1\endcsname\prevdepth
\global\Parcount@\@ne
\global\Par@true\global\let\Parlist@\empty
\global\setbox\Parbox@\vbox\bgroup\break}
\def\place@#1#2{%
\ifisland@
\ifhmode
\ifPar@
\ifnum\Parcount@>5
\Err@{Only 5 \string\place's allowed per
\string\Par...\noexpand\endPar paragraph}%
\else
\expandafter\expandafter\expandafter
\global\expandafter\setbox
\csname Parfigbox\number\Parcount@\endcsname\box\islandbox@
\global\advance\Parcount@\@ne
\xdef\Parlist@{\Parlist@#1}%
\fi
\else
\vadjust{#2}%
\fi
\else
#2%
\fi
\else
\Err@{Whoa ... there's no \string\Figure,
\string\Table, etc., here}%
\fi
\place@false}
\long\def\Aplace#1{\prevanish@
\place@true\island@false
#1%
\place@ a\Aplace@
\postvanish@}
\long\def\AAplace#1{\prevanish@\place@true\island@false
#1%
\place@ A\AAplace@
\postvanish@}
\def\AAplace@{\AA@true\Aplace@\AA@false}
\def\Aplace@{\allowbreak
\dimen@=\ht\islandbox@
\advance\dimen@\abovebotfigskip
\ht\islandbox@\dimen@
\advance\dimen@\dp\islandbox@
\storedim@
\ifAA@
\xdef\AAlist@{\AAlist@1}%
\advancedimtopins@
\else
\xdef\AAlist@{\AAlist@0}%
\ifnum\topinscount@>\@ne\else\advancedimtopins@\fi
\fi
\insert\topins{\penalty\z@\splittopskip\z@\floatingpenalty\z@
\box\islandbox@}%
\global\advance\topinscount@\@ne}
\long\def\Bplace#1{\prevanish@\place@true\island@false
#1%
\place@ b\Bplace@
\postvanish@}
\def\Bplace@{\allowbreak
\ifnum\topinscount@=\z@
\setbox\z@\vbox{\vbox to-\belowtopfigskip{}}%
\dimen@-\skip\topins
\ht\z@\dimen@
\storedim@
\advancedimtopins@
\insert\topins{\boxz@}%
\global\advance\topinscount@\@ne
\xdef\AAlist@{\AAlist@0}%
\fi
\dimen@\ht\islandbox@
\advance\dimen@\abovebotfigskip
\ht\islandbox@\dimen@
\advance\dimen@\dp\islandbox@
\storedim@
\xdef\AAlist@{\AAlist@0}%
\ifnum\topinscount@>\@ne\else\advancedimtopins@\fi
\insert\topins{\penalty\z@\splittopskip\z@
\floatingpenalty\z@
\box\islandbox@}%
\global\advance\topinscount@\@ne}
\def\Place@#1#2{%
\ifisland@
\ifhmode
\ifPar@
\ifnum\Parcount@>5
\Err@{Only 5 \string\place's allowed per
\string\Par...\noexpand\endPar paragraph}%
\else
\expandafter\expandafter\expandafter\global\expandafter\setbox
\csname Parfigbox\number\Parcount@\endcsname\box\islandbox@
\global\advance\Parcount@\@ne
\xdef\Parlist@{\Parlist@#1}%
\vadjust{\break}%
\fi
\else
\Err@{\noexpand#2allowed only in a \string\Par...\noexpand\endPar
paragraph}%
\fi
\else
#2%
\fi
\else
\Err@{Who ... there's no \string\Figure, \string\Table,
etc., here}%
\fi
\place@false}
\long\def\Cplace#1{\prevanish@\place@true\island@false
#1%
\Place@ c\Cplace@
\postvanish@}
\def\Cplace@{\allowbreak
\ifnum\topinscount@>\z@\else
\global\C@true\global\Cdim@\pagetotal\fi
\Aplace@}
\long\def\Mplace#1{\prevanish@\place@true\island@false
#1%
\Place@ m\Mplace@
\postvanish@}
\long\def\MXplace#1{\prevanish@\place@true\island@false
#1%
\Place@ M\MXplace@
\postvanish@}
\def\MXplace@{\MX@true\Mplace@\MX@false}
\def\Mplace@{\allowbreak
\dimen@\ht\islandbox@\advance\dimen@\dp\islandbox@
\ifdim\pagetotal=\z@\else
\ifdim\lastskip<\abovebotfigskip\advance\dimen@\abovebotfigskip
\advance\dimen@-\lastskip\fi
\fi
\advance\dimen@\pagetotal
\ifdim\dimen@>\pagegoal
\Aplace@
\else
\nointerlineskip
\ifdim\lastskip<\abovebotfigskip\removelastskip\vskip\abovebotfigskip\fi
\setbox\z@\vbox{\unvbox\islandbox@
\breakisland@}%
\printisland@
\ifnum\topinscount@=\z@
\setbox\z@\vbox{\vbox to-\belowtopfigskip{}}%
\dimen@-\skip\topins
\ht\z@\dimen@
\storedim@
\advancedimtopins@
\insert\topins{\boxz@}%
\global\advance\topinscount@\@ne
\xdef\AAlist@{\AAlist@0}%
\fi
\ifMX@
\ifnum\topinscount@=\@ne
\setbox\z@\vbox{\vbox to-\abovebotfigskip{}}%
\ht\z@\z@
\dimen@\z@
\storedim@
\advancedimtopins@
\insert\topins{\boxz@}%
\global\advance\topinscount@\@ne
\xdef\AAlist@{\AAlist@0}%
\fi
\fi
\nointerlineskip
\vskip\belowtopfigskip
\fi}
\def\endPar{\egroup
\count@\@ne
{\vbadness\@M\vfuzz\maxdimen\splitmaxdepth\maxdimen\splittopskip\ht\strutbox
\setbox\z@\vsplit\Parbox@ to\ht\Parbox@
\loop
\ifnum\count@<\Parcount@
\expandafter\expandafter\expandafter\global\expandafter\setbox
\csname Parbox\number\count@\endcsname\vsplit\Parbox@ to\ht\Parbox@
\count@@\count@\advance\count@@\@ne
\global\csname Parprev\number\count@@\endcsname
\dp\csname Parbox\number\count@\endcsname
\advance\count@\@ne
\repeat}%
\vskip\parskip
\count@\@ne
\def\nextv@##1##2\nextv@{\DN@{##1}\gdef\Parlist@{##2}}%
\loop
\ifnum\count@<\Parcount@
\dimen@\csname Parprev\number\count@\endcsname
\advance\dimen@\ht\strutbox
\ifdim\dimen@<\baselineskip
\advance\dimen@-\baselineskip\vskip-\dimen@
\else
\vskip\lineskip
\fi
\unvbox\csname Parbox\number\count@\endcsname
\global\setbox\islandbox@\box\csname Parfigbox\number\count@\endcsname
\expandafter\nextv@\Parlist@\nextv@
\if a\next@\Aplace@\else
\if A\next@\AAplace@\else
\if b\next@\Bplace@\else
\if c\next@\Cplace@\else
\if m\next@\Mplace@\else
\if M\next@\MXplace@\fi\fi\fi\fi\fi\fi
\advance\count@\@ne
\repeat
\global\Par@false
\ifvoid\Parbox@
\prevdepth\csname Parprev\number\count@\endcsname
\else
\dimen@\csname Parprev\number\count@\endcsname\advance\dimen@\ht\strutbox
\ifdim\dimen@<\baselineskip
\advance\dimen@-\baselineskip\vskip-\dimen@
\else
\vskip\lineskip
\fi
\dimen@\dp\Parbox@
\unvbox\Parbox@
\prevdepth\dimen@
\fi}
\catcode`\@=\active